package com.cy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @SpringBootApplication 注解描述的类springboot--工程启动运行的一个入口
 *1.这个启动类在启动时都会做什么呢
 * 1) 基于线程调用 i/o 从磁盘读取类,将其加载到内存,此时会基于类创建字节码对象(其类型
 * 为 Class 类型)
 * 2) 基于 Class 对象(字节码对象)读取类的配置信息(例如类上有什么注解-例如
 * @Component,属性上有什么注解,....)
 * 3) 基于类的配置进行相应的配置存储 ( 交 给 spring 管理的类的配置 )-
 * Map<String,BeanDefinition>
 * 4) 基 于 类 的 配 置 借 助 BeanFactory 创 建 类 的 实 例 ( 对 象 ), 多 个 对 象 存 储 到
 * Map<String,Object
 * a.将磁盘中的类读到内存
 * b.对内存中类进行配置信息提取，构建对象，存储对象
 * c.读取配置信息对系统进行初始化配置
 *
 * 2.如何知道那些类被加载到内存了？
 * 通过JVM参数(-XX:+TraceClassLoading)的配置，对类的加载过程进行呈现
 *
 *3.一个类文件读到内存以后会做什么？
 * 会基于类的字节码信息创建字节码对象-.class
 */


@SpringBootApplication
public class NoticeApplication启动类 {

    public static void main(String[] args) {
        SpringApplication.run(NoticeApplication启动类.class, args);
    }
}
